<!doctype html>


<html>
<head>
  <link rel="shortcut icon" href="static/images/favicon.ico" type="image/x-icon">
  <title>BlobHasher (Closure Library API Documentation - JavaScript)</title>
  <link rel="stylesheet" href="static/css/base.css">
  <link rel="stylesheet" href="static/css/doc.css">
  <link rel="stylesheet" href="static/css/sidetree.css">
  <link rel="stylesheet" href="static/css/prettify.css">

  <script>
     var _staticFilePath = "static/";
     var _typeTreeName = "goog";
     var _fileTreeName = "Source";
  </script>

  <script src="static/js/doc.js">
  </script>

  <script type="text/javascript" src="//www.google.com/jsapi"></script>
  <script type="text/javascript">
     google.load("visualization", "1", {packages:["orgchart"]});
     var _loadingVisualizations = true;
  </script>

  <meta charset="utf8">
</head>

<body onload="grokdoc.onLoad();">

<div id="header">
  <div class="g-section g-tpl-50-50 g-split">
    <div class="g-unit g-first">
      <a id="logo" href="index.html">Closure Library API Documentation</a>
    </div>

    <div class="g-unit">
      <div class="g-c">
        <strong>Go to class or file:</strong>
        <input type="text" id="ac">
      </div>
    </div>
  </div>
</div>





<div class="colmask rightmenu">
<div class="colleft">
    <div class="col1">
      <!-- Column 1 start -->

<div id="title">
        <span class="fn">crypt.BlobHasher</span>
        <span>Extends</span>
        <span class="fn-name">
          <a href="class_goog_events_EventTarget.html">
          goog.events.EventTarget
</a>
        </span>
</div>

<div class="g-section g-tpl-75-25">
  <div class="g-unit g-first" id="description">
    Construct the hash computer.


  </div>


        <div class="g-unit" id="useful-links">
          <div class="title">Useful links</div>
          <ol>
            <li><a href="local_closure_goog_crypt_blobhasher.js.source.html"><span class='source-code-link'>Source Code</span></a></li>
            <li><a href="http://code.google.com/p/closure-library/source/browse/local/closure/goog/crypt/blobhasher.js">Git</a></li>
          </ol>
        </div>
</div>






<h2 class="g-first">Inheritance</h2>
<div class='gviz-org-chart-container goog-inline-block'>
<table class='gviz-org-chart' style='display:none'>
  <tr><td><span class="type"><a href="class_goog_Disposable.html">goog.Disposable</a></span></td><td></td></tr>
  <tr><td><span class="type"><a href="class_goog_events_EventTarget.html">goog.events.EventTarget</a></span></td><td><span class="type"><a href="class_goog_Disposable.html">goog.Disposable</a></span></td></tr>
  <tr><td>goog.crypt.BlobHasher</td><td><span class="type"><a href="class_goog_events_EventTarget.html">goog.events.EventTarget</a></span></td></tr>
</table>
</div>
<div class='gviz-org-chart-container goog-inline-block'>
<table class='gviz-org-chart' style='display:none'>
</table>
</div>




  <h2>Constructor</h2>
      <div class="fn-constructor">
    goog.crypt.BlobHasher(<span><span class="arg">hashFn</span>,&nbsp;<span class="arg">opt_blockSize</span></span>)
  </div>

   <h3>Parameters</h3>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">hashFn</span>
        : <span>!</span><span class="type"><a href="class_goog_crypt_Hash.html">goog.crypt.Hash</a></span>
        <div class="entryOverview">The hash function to use.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">opt_blockSize</span>
        : <span class="type">number=</span>
        <div class="entryOverview">Processing block size.</div>
     </td>
   </tr>
  </table>


<h2>Instance Methods</h2>


  <div class="legend">
        <span class="key publickey"></span><span>Public</span>
        <span class="key protectedkey"></span><span>Protected</span>
        <span class="key privatekey"></span><span>Private</span>
  </div>







<div>
       <div class="desc">
         Defined in
         <span class="fn-name">
            <a href="class_goog_crypt_BlobHasher.html">
              goog.crypt.BlobHasher
            </a>
         </span>
       </div>






<div class="section">
  <table class="horiz-rule">


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.crypt.BlobHasher.prototype.abort"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">abort<span class="args">()</span>
        </span>
      </div>


     <div class="entryOverview">
       Abort hash computation.

     </div>

   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_crypt_blobhasher.js.source.html#line169">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.crypt.BlobHasher.prototype.getBytesProcessed"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">getBytesProcessed<span class="args">()</span>
        </span>
        &#8658; <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
      </div>


     <div class="entryOverview">
       <span class='nodesc'>No description.</span>
     </div>


    <! -- Method details -->
    <div class="entryDetails">

   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>&nbsp;
            Number of bytes processed so far.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_crypt_blobhasher.js.source.html#line185">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.crypt.BlobHasher.prototype.getHash"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">getHash<span class="args">()</span>
        </span>
        &#8658; <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span>.&lt;<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>&gt;
      </div>


     <div class="entryOverview">
       <span class='nodesc'>No description.</span>
     </div>


    <! -- Method details -->
    <div class="entryDetails">

   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array">Array</a></span>.&lt;<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>&gt;&nbsp;
            The computed hash value or null if not ready.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_crypt_blobhasher.js.source.html#line193">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.crypt.BlobHasher.prototype.hash"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">hash<span class="args">(<span class="arg">blob</span>)</span>
        </span>
      </div>


     <div class="entryOverview">
       Start the hash computation.

     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">blob</span>
        : <span>!</span><span class="type">Blob</span>
        <div class="entryOverview">The blob of data to compute the hash for.</div>
     </td>
   </tr>
  </table>
      </div>
   
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_crypt_blobhasher.js.source.html#line131">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry private">
       <td class="access"></td>






  <td>
    <a name="goog.crypt.BlobHasher.prototype.onError_"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">onError_<span class="args">()</span>
        </span>
      </div>


     <div class="entryOverview">
       Handles error.

     </div>

   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_crypt_blobhasher.js.source.html#line281">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry private">
       <td class="access"></td>






  <td>
    <a name="goog.crypt.BlobHasher.prototype.onLoad_"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">onLoad_<span class="args">()</span>
        </span>
      </div>


     <div class="entryOverview">
       Handle processing block loaded.

     </div>

   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_crypt_blobhasher.js.source.html#line251">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry private">
       <td class="access"></td>






  <td>
    <a name="goog.crypt.BlobHasher.prototype.processNextBlock_"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">processNextBlock_<span class="args">()</span>
        </span>
      </div>


     <div class="entryOverview">
       Helper function setting up the processing for the next block, or finalizing
the computation if all blocks were processed.

     </div>

   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_crypt_blobhasher.js.source.html#line203">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.crypt.BlobHasher.prototype.setHashingLimit"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">setHashingLimit<span class="args">(<span class="arg">byteOffset</span>)</span>
        </span>
      </div>


     <div class="entryOverview">
       Sets the maximum number of bytes to hash or Infinity for no limit. Can be
called before hash() to throttle the hash computation. The hash computation
can then be continued by repeatedly calling setHashingLimit() with greater
byte offsets. This is useful if you don't need the hash until some time in
the future, for example when uploading a file and you don't need the hash
until the transfer is complete.

     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">byteOffset</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Number">number</a></span>
        <div class="entryOverview">The byte offset to compute the hash up to.
    Should be a non-negative integer or Infinity for no limit. Negative
    values are not allowed.</div>
     </td>
   </tr>
  </table>
      </div>
   
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_crypt_blobhasher.js.source.html#line154">code &raquo;</a>
  </td>
     </tr>


  </table>
</div>
</div>

<div>
       <div class="desc">
         Defined in
         <span class="fn-name">
            <a href="class_goog_events_EventTarget.html">
              goog.events.EventTarget
            </a>
         </span>
       </div>






<div class="section">
  <table class="horiz-rule">


     <tr class="even entry public">
       <td class="access"></td>






  <td class="deprecated">
    <a name="goog.events.EventTarget.prototype.addEventListener"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">addEventListener<span class="args">(<span class="arg">type</span>,&nbsp;<span class="arg"></span>,&nbsp;<span class="arg">opt_capture</span>,&nbsp;<span class="arg">opt_handlerScope</span>)</span>
        </span>
      </div>


     <div class="entryOverview">
       <span class="deprecatedMessage">Use <code> #listen</code> instead, when possible. Otherwise, use
    <code> goog.events.listen</code> if you are passing Object
    (instead of Function) as handler.</span>
       Adds an event listener to the event target. The same handler can only be
added once per the type. Even if you add the same handler multiple times
using the same type then it will only be called once when the event is
dispatched.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">type</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String">string</a></span>
        <div class="entryOverview">The type of the event to listen for.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName"></span>
        : <span>?</span><span class="type">function(</span>)<span>:?</span><span>&nbsp;|&nbsp;</span><span>?</span><span class="type">{handleEvent:function(</span>)<span>:?</span>
        <div class="entryOverview"><span class='nodesc'>No description.</span></div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">opt_capture</span>
        : <span class="type">boolean=</span>
        <div class="entryOverview">In DOM-compliant browsers, this determines
    whether the listener is fired during the capture or bubble phase
    of the event.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">opt_handlerScope</span>
        : <span class="type">Object=</span>
        <div class="entryOverview">Object in whose scope to call
    the listener.</div>
     </td>
   </tr>
  </table>
      </div>
   
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_events_eventtarget.js.source.html#line153">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry private">
       <td class="access"></td>






  <td>
    <a name="goog.events.EventTarget.prototype.assertInitialized_"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">assertInitialized_<span class="args">()</span>
        </span>
      </div>


     <div class="entryOverview">
       Asserts that the event target instance is initialized properly.

     </div>

   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_events_eventtarget.js.source.html#line332">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.events.EventTarget.prototype.dispatchEvent"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">dispatchEvent<span class="args">()</span>
        </span>
      </div>


     <div class="entryOverview">
       <span class='nodesc'>No description.</span>
     </div>

   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_events_eventtarget.js.source.html#line184">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.events.EventTarget.prototype.disposeInternal"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">disposeInternal<span class="args">()</span>
        </span>
      </div>


     <div class="entryOverview">
       Removes listeners from this object.  Classes that extend EventTarget may
need to override this method in order to remove references to DOM Elements
and additional listeners.

     </div>

   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_events_eventtarget.js.source.html#line210">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.events.EventTarget.prototype.fireListeners"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">fireListeners<span class="args">()</span>
        </span>
      </div>


     <div class="entryOverview">
       <span class='nodesc'>No description.</span>
     </div>

   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_events_eventtarget.js.source.html#line264">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.events.EventTarget.prototype.getListener"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">getListener<span class="args">()</span>
        </span>
      </div>


     <div class="entryOverview">
       <span class='nodesc'>No description.</span>
     </div>

   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_events_eventtarget.js.source.html#line302">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.events.EventTarget.prototype.getListeners"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">getListeners<span class="args">()</span>
        </span>
      </div>


     <div class="entryOverview">
       <span class='nodesc'>No description.</span>
     </div>

   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_events_eventtarget.js.source.html#line296">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.events.EventTarget.prototype.getParentEventTarget"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">getParentEventTarget<span class="args">()</span>
        </span>
        &#8658; <span class="type"><a href="class_goog_events_EventTarget.html">goog.events.EventTarget</a></span>
      </div>


     <div class="entryOverview">
       Returns the parent of this event target to use for bubbling.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type"><a href="class_goog_events_EventTarget.html">goog.events.EventTarget</a></span>&nbsp;
            The parent EventTarget or null if
    there is no parent.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_events_eventtarget.js.source.html#line119">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.events.EventTarget.prototype.hasListener"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">hasListener<span class="args">()</span>
        </span>
      </div>


     <div class="entryOverview">
       <span class='nodesc'>No description.</span>
     </div>

   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_events_eventtarget.js.source.html#line310">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.events.EventTarget.prototype.listen"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">listen<span class="args">()</span>
        </span>
      </div>


     <div class="entryOverview">
       <span class='nodesc'>No description.</span>
     </div>

   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_events_eventtarget.js.source.html#line219">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.events.EventTarget.prototype.listenOnce"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">listenOnce<span class="args">()</span>
        </span>
      </div>


     <div class="entryOverview">
       <span class='nodesc'>No description.</span>
     </div>

   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_events_eventtarget.js.source.html#line229">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.events.EventTarget.prototype.removeAllListeners"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">removeAllListeners<span class="args">()</span>
        </span>
      </div>


     <div class="entryOverview">
       <span class='nodesc'>No description.</span>
     </div>

   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_events_eventtarget.js.source.html#line252">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td class="deprecated">
    <a name="goog.events.EventTarget.prototype.removeEventListener"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">removeEventListener<span class="args">(<span class="arg">type</span>,&nbsp;<span class="arg"></span>,&nbsp;<span class="arg">opt_capture</span>,&nbsp;<span class="arg">opt_handlerScope</span>)</span>
        </span>
      </div>


     <div class="entryOverview">
       <span class="deprecatedMessage">Use <code> #unlisten</code> instead, when possible. Otherwise, use
    <code> goog.events.unlisten</code> if you are passing Object
    (instead of Function) as handler.</span>
       Removes an event listener from the event target. The handler must be the
same object as the one added. If the handler has not been added then
nothing is done.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">type</span>
        : <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/String">string</a></span>
        <div class="entryOverview">The type of the event to listen for.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName"></span>
        : <span>?</span><span class="type">function(</span>)<span>:?</span><span>&nbsp;|&nbsp;</span><span>?</span><span class="type">{handleEvent:function(</span>)<span>:?</span>
        <div class="entryOverview"><span class='nodesc'>No description.</span></div>
     </td>
   </tr>
     
   <tr class="even">
     <td>
        <span class="entryName">opt_capture</span>
        : <span class="type">boolean=</span>
        <div class="entryOverview">In DOM-compliant browsers, this determines
    whether the listener is fired during the capture or bubble phase
    of the event.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">opt_handlerScope</span>
        : <span class="type">Object=</span>
        <div class="entryOverview">Object in whose scope to call
    the listener.</div>
     </td>
   </tr>
  </table>
      </div>
   
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_events_eventtarget.js.source.html#line177">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.events.EventTarget.prototype.setParentEventTarget"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">setParentEventTarget<span class="args">(<span class="arg">parent</span>)</span>
        </span>
      </div>


     <div class="entryOverview">
       Sets the parent of this event target to use for capture/bubble
mechanism.

     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">parent</span>
        : <span class="type"><a href="class_goog_events_EventTarget.html">goog.events.EventTarget</a></span>
        <div class="entryOverview">Parent listenable (null if none).</div>
     </td>
   </tr>
  </table>
      </div>
   
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_events_eventtarget.js.source.html#line129">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.events.EventTarget.prototype.setTargetForTesting"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">setTargetForTesting<span class="args">(<span class="arg">target</span>)</span>
        </span>
      </div>


     <div class="entryOverview">
       Sets the target to be used for <code> event.target</code> when firing
event. Mainly used for testing. For example, see
<code> goog.testing.events.mixinListenable</code>.

     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">target</span>
        : <span>!</span><span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Object">Object</a></span>
        <div class="entryOverview">The target.</div>
     </td>
   </tr>
  </table>
      </div>
   
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_events_eventtarget.js.source.html#line323">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.events.EventTarget.prototype.unlisten"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">unlisten<span class="args">()</span>
        </span>
      </div>


     <div class="entryOverview">
       <span class='nodesc'>No description.</span>
     </div>

   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_events_eventtarget.js.source.html#line238">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.events.EventTarget.prototype.unlistenByKey"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">unlistenByKey<span class="args">()</span>
        </span>
      </div>


     <div class="entryOverview">
       <span class='nodesc'>No description.</span>
     </div>

   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_events_eventtarget.js.source.html#line246">code &raquo;</a>
  </td>
     </tr>


  </table>
</div>
</div>

<div>
       <div class="desc">
         Defined in
         <span class="fn-name">
            <a href="class_goog_Disposable.html">
              goog.Disposable
            </a>
         </span>
       </div>






<div class="section">
  <table class="horiz-rule">


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.Disposable.prototype.addOnDisposeCallback"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">addOnDisposeCallback<span class="args">(<span class="arg">callback</span>,&nbsp;<span class="arg">opt_scope</span>)</span>
        </span>
      </div>


     <div class="entryOverview">
       Invokes a callback function when this object is disposed. Callbacks are
invoked in the order in which they were added.

     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">callback</span>
        : <span class="type">function(this:T</span>)<span>:?</span>
        <div class="entryOverview">The callback function.</div>
     </td>
   </tr>
     
   <tr class="odd">
     <td>
        <span class="entryName">opt_scope</span>
        : <span class="type">T=</span>
        <div class="entryOverview">An optional scope to call the callback in.</div>
     </td>
   </tr>
  </table>
      </div>
   
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_disposable_disposable.js.source.html#line211">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.Disposable.prototype.dispose"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">dispose<span class="args">()</span>
        </span>
        &#8658; <span class="type">void</span>
      </div>


     <div class="entryOverview">
       Disposes of the object. If the object hasn't already been disposed of, calls
<code> #disposeInternal</code>. Classes that extend <code> goog.Disposable</code> should
override <code> #disposeInternal</code> in order to delete references to COM
objects, DOM nodes, and other disposable objects. Reentrant.


     </div>


    <! -- Method details -->
    <div class="entryDetails">

   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type">void</span>&nbsp;
            Nothing.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_disposable_disposable.js.source.html#line172">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry protected">
       <td class="access"></td>






  <td>
    <a name="goog.Disposable.prototype.disposeInternal"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">disposeInternal<span class="args">()</span>
        </span>
      </div>


     <div class="entryOverview">
       Deletes or nulls out any references to COM objects, DOM nodes, or other
disposable objects. Classes that extend <code> goog.Disposable</code> should
override this method.
Not reentrant. To avoid calling it twice, it must only be called from the
subclass' <code> disposeInternal</code> method. Everywhere else the public
<code> dispose</code> method must be used.
For example:
<pre class="lang-js prettyprint">
  mypackage.MyClass = function() {
    goog.base(this);
    // Constructor logic specific to MyClass.
    ...
  };
  goog.inherits(mypackage.MyClass, goog.Disposable);

  mypackage.MyClass.prototype.disposeInternal = function() {
    // Dispose logic specific to MyClass.
    ...
    // Call superclass's disposeInternal at the end of the subclass's, like
    // in C++, to avoid hard-to-catch issues.
    goog.base(this, 'disposeInternal');
  };
</pre>
     </div>

   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_disposable_disposable.js.source.html#line245">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td class="deprecated">
    <a name="goog.Disposable.prototype.getDisposed"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">getDisposed<span class="args">()</span>
        </span>
        &#8658; <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span>
      </div>


     <div class="entryOverview">
       <span class="deprecatedMessage">Use <code> #isDisposed</code> instead.</span>
       <span class='nodesc'>No description.</span>
     </div>


    <! -- Method details -->
    <div class="entryDetails">

   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span>&nbsp;
            Whether the object has been disposed of.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_disposable_disposable.js.source.html#line160">code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry public">
       <td class="access"></td>






  <td>
    <a name="goog.Disposable.prototype.isDisposed"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">isDisposed<span class="args">()</span>
        </span>
        &#8658; <span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span>
      </div>


     <div class="entryOverview">
       <span class='nodesc'>No description.</span>
     </div>


    <! -- Method details -->
    <div class="entryDetails">

   
      <div class="detailsSection">
        <b>Returns:</b>&nbsp;<span class="type"><a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Boolean">boolean</a></span>&nbsp;
            Whether the object has been disposed of.
      </div>
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_disposable_disposable.js.source.html#line151">code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>






  <td>
    <a name="goog.Disposable.prototype.registerDisposable"></a>


     <div class="arg">
       <img align="left" src="static/images/blank.gif">

        <span class="entryName">registerDisposable<span class="args">(<span class="arg">disposable</span>)</span>
        </span>
      </div>


     <div class="entryOverview">
       Associates a disposable object with this object so that they will be disposed
together.

     </div>


    <! -- Method details -->
    <div class="entryDetails">

      <div class="detailsSection">
        <b>Arguments: </b>






<table class="horiz-rule">
     
   <tr class="even">
     <td>
        <span class="entryName">disposable</span>
        : <span class="type"><a href="interface_goog_disposable_IDisposable.html">goog.disposable.IDisposable</a></span>
        <div class="entryOverview">that will be disposed when
    this object is disposed.</div>
     </td>
   </tr>
  </table>
      </div>
   
  
    </div>
   
  </td>


  <td class="view-code">
     <a href="local_closure_goog_disposable_disposable.js.source.html#line199">code &raquo;</a>
  </td>
     </tr>


  </table>
</div>
</div>




<h2>Instance Properties</h2>







<div>
       <div class="desc">
         Defined in
         <span class="fn-name">
            <a href="class_goog_crypt_BlobHasher.html">
              goog.crypt.BlobHasher
            </a>
         </span>
       </div>






<div class="section">
  <table class="horiz-rule">


     <tr class="even entry private">
       <td class="access"></td>





  <a name="goog.crypt.BlobHasher.prototype.blob_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">blob_</span>
        : 
     </div>


     <div class="entryOverview">
       The blob being processed or null if no blob is being processed.

     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_crypt_blobhasher.js.source.html#line66">Code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry private">
       <td class="access"></td>





  <a name="goog.crypt.BlobHasher.prototype.blockSize_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">blockSize_</span>
        : 
     </div>


     <div class="entryOverview">
       Processing block size.

     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_crypt_blobhasher.js.source.html#line94">Code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry private">
       <td class="access"></td>





  <a name="goog.crypt.BlobHasher.prototype.bytesProcessed_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">bytesProcessed_</span>
        : 
     </div>


     <div class="entryOverview">
       Number of bytes already processed.

     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_crypt_blobhasher.js.source.html#line80">Code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>





  <a name="goog.crypt.BlobHasher.prototype.constructor"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">constructor</span>
        : 
     </div>


     <div class="entryOverview">
       <span class='nodesc'>No description.</span>
     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_crypt_blobhasher.js.source.html#line51">Code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry private">
       <td class="access"></td>





  <a name="goog.crypt.BlobHasher.prototype.fileReader_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">fileReader_</span>
        : 
     </div>


     <div class="entryOverview">
       File reader object. Will be null if no chunk is currently being read.

     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_crypt_blobhasher.js.source.html#line101">Code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry private">
       <td class="access"></td>





  <a name="goog.crypt.BlobHasher.prototype.hashFn_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">hashFn_</span>
        : <span class="type"><a href="class_goog_crypt_Hash.html">goog.crypt.Hash</a></span>
     </div>


     <div class="entryOverview">
       The actual hash function.

     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_crypt_blobhasher.js.source.html#line59">Code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry private">
       <td class="access"></td>





  <a name="goog.crypt.BlobHasher.prototype.hashVal_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">hashVal_</span>
        : 
     </div>


     <div class="entryOverview">
       Computed hash value.

     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_crypt_blobhasher.js.source.html#line73">Code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry private">
       <td class="access"></td>





  <a name="goog.crypt.BlobHasher.prototype.hashingLimit_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">hashingLimit_</span>
        : 
     </div>


     <div class="entryOverview">
       The number of bytes to hash or Infinity for no limit.

     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_crypt_blobhasher.js.source.html#line87">Code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry private">
       <td class="access"></td>





  <a name="goog.crypt.BlobHasher.prototype.logger_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">logger_</span>
        : <span class="type"><a href="class_goog_debug_Logger.html">goog.debug.Logger</a></span>
     </div>


     <div class="entryOverview">
       The logger used by this object.

     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_crypt_blobhasher.js.source.html#line108">Code &raquo;</a>
  </td>
     </tr>


  </table>
</div>
</div>

<div>
       <div class="desc">
         Defined in
         <span class="fn-name">
            <a href="class_goog_events_EventTarget.html">
              goog.events.EventTarget
            </a>
         </span>
       </div>






<div class="section">
  <table class="horiz-rule">


     <tr class="even entry private">
       <td class="access"></td>





  <a name="goog.events.EventTarget.prototype.actualEventTarget_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">actualEventTarget_</span>
        : <span class="type"><a href="class_goog_events_EventTarget.html">goog.events.EventTarget</a></span>
     </div>


     <div class="entryOverview">
       The object to use for event.target. Useful when mixing in an
EventTarget to another object.

     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_events_eventtarget.js.source.html#line84">Code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry public">
       <td class="access"></td>





  <a name="goog.events.EventTarget.prototype.constructor"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">constructor</span>
        : 
     </div>


     <div class="entryOverview">
       <span class='nodesc'>No description.</span>
     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_events_eventtarget.js.source.html#line70">Code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry private">
       <td class="access"></td>





  <a name="goog.events.EventTarget.prototype.eventTargetListeners_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">eventTargetListeners_</span>
        : <span class="type"><a href="class_goog_events_ListenerMap.html">goog.events.ListenerMap</a></span>
     </div>


     <div class="entryOverview">
       Maps of event type to an array of listeners.

     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_events_eventtarget.js.source.html#line77">Code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry private">
       <td class="access"></td>





  <a name="goog.events.EventTarget.prototype.parentEventTarget_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">parentEventTarget_</span>
        : <span class="type"><a href="class_goog_events_EventTarget.html">goog.events.EventTarget</a></span>
     </div>


     <div class="entryOverview">
       Parent event target, used during event bubbling.

TODO(user): Change this to goog.events.Listenable. This
currently breaks people who expect getParentEventTarget to return
goog.events.EventTarget.


     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_events_eventtarget.js.source.html#line109">Code &raquo;</a>
  </td>
     </tr>


  </table>
</div>
</div>

<div>
       <div class="desc">
         Defined in
         <span class="fn-name">
            <a href="class_goog_Disposable.html">
              goog.Disposable
            </a>
         </span>
       </div>






<div class="section">
  <table class="horiz-rule">


     <tr class="even entry public">
       <td class="access"></td>





  <a name="goog.Disposable.prototype.creationStack"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">creationStack</span>
        : 
     </div>


     <div class="entryOverview">
       If monitoring the goog.Disposable instances is enabled, stores the creation
stack trace of the Disposable instance.

     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_disposable_disposable.js.source.html#line144">Code &raquo;</a>
  </td>
     </tr>


     <tr class="odd entry private">
       <td class="access"></td>





  <a name="goog.Disposable.prototype.disposed_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">disposed_</span>
        : 
     </div>


     <div class="entryOverview">
       Whether the object has been disposed of.

     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_disposable_disposable.js.source.html#line128">Code &raquo;</a>
  </td>
     </tr>


     <tr class="even entry private">
       <td class="access"></td>





  <a name="goog.Disposable.prototype.onDisposeCallbacks_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryName">onDisposeCallbacks_</span>
        : 
     </div>


     <div class="entryOverview">
       Callbacks to invoke when this object is disposed.

     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_disposable_disposable.js.source.html#line136">Code &raquo;</a>
  </td>
     </tr>


  </table>
</div>
</div>










<div class="section">
  <table class="horiz-rule">


  </table>
</div>



<h2>Static Properties</h2>






<div class="section">
  <table class="horiz-rule">


     <tr class="even entry private">
       <td class="access"></td>





  <a name="goog.crypt.BlobHasher.superClass_"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.crypt.BlobHasher.</span><span class="entryName">superClass_</span>
        : 
     </div>


     <div class="entryOverview">
       <span class='nodesc'>No description.</span>
     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_crypt_blobhasher.js.source.html#line51">Code &raquo;</a>
  </td>
     </tr>


  </table>
</div>



<h2>Enumerations</h2>






<div class="section">
  <table class="horiz-rule">


     <tr class="even entry public">
       <td class="access"></td>





  <a name="goog.crypt.BlobHasher.EventType"></a>

  <td>


     <div class="arg">
        <img align="left" src="static/images/blank.gif">

        <span class="entryNamespace">goog.crypt.BlobHasher.</span><span class="entryName">EventType</span>
        : 
     </div>


     <div class="entryOverview">
       Event names for hash computation events

     </div>

     <div class="entryDetails">
       <div class="detailsSection">
          <b>Constants:</b>
          <table class="horiz-rule">
            <tbody>
              <tr><td>
                <span class="entryName">
                  ABORT
                </span>
                <div class="entryOverview">
                  <span class='nodesc'>No description.</span>
                </div>
             </td></tr>
              <tr><td>
                <span class="entryName">
                  COMPLETE
                </span>
                <div class="entryOverview">
                  <span class='nodesc'>No description.</span>
                </div>
             </td></tr>
              <tr><td>
                <span class="entryName">
                  ERROR
                </span>
                <div class="entryOverview">
                  <span class='nodesc'>No description.</span>
                </div>
             </td></tr>
              <tr><td>
                <span class="entryName">
                  PROGRESS
                </span>
                <div class="entryOverview">
                  <span class='nodesc'>No description.</span>
                </div>
             </td></tr>
              <tr><td>
                <span class="entryName">
                  STARTED
                </span>
                <div class="entryOverview">
                  <span class='nodesc'>No description.</span>
                </div>
             </td></tr>
              <tr><td>
                <span class="entryName">
                  THROTTLED
                </span>
                <div class="entryOverview">
                  <span class='nodesc'>No description.</span>
                </div>
             </td></tr>
           </tbody>
         </table>
       </div>
     </div>

  </td>


  <td class="view-code">
     <a href="local_closure_goog_crypt_blobhasher.js.source.html#line117">Code &raquo;</a>
  </td>
     </tr>


  </table>
</div>
      <!-- Column 1 end -->
    </div>

        <div class="col2">
          <!-- Column 2 start -->
          <div class="col2-c">
            <h2 id="ref-head">Package crypt</h2>
            <div id="localView"></div>
          </div>

          <div class="col2-c">
            <h2 id="ref-head">Package Reference</h2>
            <div id="sideTypeIndex" rootPath="" current="crypt.BlobHasher"></div>
          </div>
          <!-- Column 2 end -->
        </div>
</div>
</div>

</body>
</html>
